With the widespread use of mobile devices, such as mobile phones, personal data assistants, tablet personal computers, etc., consumer demand for ready access to varied types of data continues to grow at a high rate. These devices are used to transmit, receive, and store text, voice, image, and video data. Consumers often look to store large numbers of applications on these devices, such that mobile devices are often touted more for the number of available applications, than internal processor speed. While consumers have come to desire fast access to data, the sheer amount of data required to run these applications places a premium on data management, which may apply on both the device level and at the network level. This premium may limit the effectiveness of applications such as mapping applications, which may typically require comparatively large amounts of network data (e.g., for systems that retrieve map data from a remote database).
Mapping applications are found in a variety of mobile devices, including car navigation systems, hand-held GPS units, mobile phones, and portable computers. These applications are among the most frequently used applications and are considered, by some, necessary for personal safety. Although the underlying digital maps are easy to use from a user's perspective, creating a digital map is a data intensive process. Every digital map begins with a set of raw data corresponding to millions of streets and intersections. That raw map data is derived from a variety of sources, each providing different amounts and types of information. To effectively map a location, locate a driving route between a source and a destination, identify points of interest, etc. requires substantial amounts of data. Furthermore, many mapping applications require a display of different map data at different zoom levels, i.e., different scales, where the amount of detail and the nature of that detail changes at each zoom level. For example, at a lowest zoom level, scaled furthest away from a target, the map data may contain the boundaries of continents, oceans, and major landmasses. At subsequent zoom levels, that map data may identify countries, states, homelands, protectorates, other major geographic regions. While at even further subsequent zoom levels, that map data may contain major roads, cities, towns, until eventually the map data contains minor roads, buildings, down to even sidewalks and walk ways depending on the region. The amount of detail is determined by the sources of information used to construct the map data at each zoom level. But no matter the zoom level, the amount of information is voluminous and may be generally too large for storage, in total, on mobile devices and too large for continuous download over a wireless communication network.
In operation, mapping applications typically download map data to the mobile device through a wireless communication network and in response to a user entering a location of interest and/or based on the current location of the mobile device, such as the current global positioning satellite (GPS) data or current cellular network location data for the device. A conventional technique for downloading map data is to have the mobile device communicate this location data to a remote processor on the wireless communication network, which, in response, downloads all map data to the mobile device or the map data requested for display to the user.
Map data may generally be stored in blocks known as map data tiles, where the number of map data tiles increases with zoom level. The remote processor provides a subset of the available map data tiles for a particular location or region to the mobile device for storage and display at any particular time via a map display application. By providing large numbers of map data tiles, the mobile device may buffer the map data for display to the consumer as the consumer scrolls across an area using the mapping application looking for adjacent or other mapping locations. However, the larger the number of map data tiles provided at any particular time, the longer the download time and the higher the buffer memory usage while the user is using the map display application.
Map data tiles may be downloaded and cached in an inefficient manner that may not take advantage of a viewing context to more efficiently retrieve higher priority mapping data over lower priority data. One such viewing context relates to map data with respect to pre-fetching map data for different portions of a route. Pre-fetching data for later usage is important in mobile devices where a connection to a map database (e.g., via a map database server) may only be intermittent at best. Further, because mobile computing devices are generally more bandwidth and processor limited than, for example, a desktop computer, efficiency of retrieval and processing of map data is even more critical in mobile applications. As a result, there is a need to have more intelligent mechanisms for retrieving (e.g., downloading) and/or processing map data, in particular map data tiles, to sufficiently satisfy visual requirements of a limited computing device without wasting bandwidth and processing services.